Content archival and retrieval

ABSTRACT

Content archival and retrieval, in which connections with multiple, different enterprise applications operated by an organization are established. In addition, a connection with a central archival system is established and content to archive is received from the multiple, different enterprise applications. The central archival system is controlled to archive, in a central location, the content received from the multiple, different enterprise applications such that content from a first type of enterprise application is archived in the central location together with content from a second type of enterprise application.

FIELD

The present application claims the benefit of Indian Patent ApplicationNo. 2173/CHE/2010, filed on Jul. 30, 2010, which is incorporated hereinby reference in its entirety for all purposes.

BACKGROUND

A company may use an archival system to archive content and documentsrelated to the company and its processes. The company may use multiple,different archival systems to separately archive content developed usingdifferent processes.

SUMMARY

In one aspect, a system archives content from multiple, different typesof enterprise applications in a central location. The system includesmultiple, different application connectors that are configured tointerface with multiple, different enterprise applications operated byan organization. The multiple, different application connectors includeat least a first application connector configured to interface with afirst type of enterprise application operated by the organization, and asecond application connector configured to interface with a second typeof enterprise application operated by the organization. The second typeof enterprise application is different than the first type of enterpriseapplication. The system also includes an archival system connector thatis configured to interface with a central archival system. The centralarchival system is configured to archive content from the multiple,different enterprise applications in a central location. The systemfurther includes an application server that is configured to receive,using the multiple, different application connectors, content to archivefrom the multiple, different enterprise applications, and control, usingthe archival system connector, the central archival system to archive,in the central location, the content received from the multiple,different enterprise applications such that content from the first typeof enterprise application is archived together in the central locationwith content from the second type of enterprise application.

Implementations may include one or more of the following features. Forexample, the application server may be configured to provide a standarduser interface that enables a user to provide input to control archivaloperations for the multiple, different enterprise applications and thecentral archival system, receive user input that is entered into thestandard user interface, and control, based on the received user input,archival operations for the multiple, different enterprise applicationsand the central archival system. In addition, the application server maybe configured to convert, into a different format, at least a portion ofthe content received from the multiple, different enterpriseapplications prior to controlling the central archival system toarchive, in the central location, the content received from themultiple, different enterprise applications.

In some implementations, the application server may be configured toreceive user input defining a complex record type that includesinformation from the multiple, different enterprise applications, definethe complex record type based on the received user input, and handlearchival of information from the multiple, different enterpriseapplications using the complex record type. In these implementations,the complex record type may include first content from a firstenterprise application, first metadata from the first enterpriseapplication, second content from a second enterprise application, secondmetadata from the second enterprise application, and record data thatdescribes aspects of a record of the complex record type. The secondenterprise application may be different than the first enterpriseapplication, the first content may be different than the second content,and the first metadata may be different than the second metadata. Theapplication server may be configured to create a single record of thecomplex record type by integrating, into the single record of thecomplex record type, the first content from the first enterpriseapplication, the first metadata from the first enterprise application,the second content from the second enterprise application, and thesecond metadata from the second enterprise application and adding, tothe single record of the complex record type and in the record dataportion of the complex record type, data describing aspects of creationof the single record.

Further, the application server may be configured to detect an archivaloperation that uses the complex record type and, in response to thearchival operation that uses the complex record type, identify contentneeded from the multiple, different enterprise applications to populatethe complex record type and identify metadata needed from the multiple,different enterprise applications to populate the complex record type.The application server may be configured to access the identifiedcontent and the identified metadata and control, using the archivalsystem connector, the central archival system to store, in a singlerecord of the complex record type, the accessed content and the accessedmetadata.

In some examples, the application server may be configured to handle anevent that results in a request to at least one of archive data in thecentral archival system and retrieve data from the central archivalsystem and, in response to the event, log, in electronic storageseparate from the central location of the central archival system, theevent to identify data associated with the event and one or more of themultiple, different enterprise applications associated with the event.In these examples, the application server may be configured to, based onthe logging, audit the central archival system to determine whether thedata was properly archived. The application server may be configured to,in response to a determination that the data was not properly archived,take corrective action with respect to the central archival system tocause proper archival of the data in the central location. Also, theapplication server may be configured to calculate, based on the loggingand auditing, archival statistics related to archival operationsperformed for each of the multiple, different enterprise applicationsand success or failure of the archival operations, generate a reportthat reflects the calculated archival statistics, and output, using anoutput device, the report.

In addition, the application server may be configured to handle anarchival event that results in a request to archive data in the centralarchival system and, in response to the archival event, log, inelectronic storage separate from the central location of the centralarchival system, the archival event to identify data archived as part ofthe archival event and one or more of the multiple, different enterpriseapplications providing the data archived as part of the archival event.The application server also may be configured to handle a retrievalevent that results in a request to retrieve data from the centralarchival system and, in response to the retrieval event, log, inelectronic storage separate from the central location of the centralarchival system, the retrieval event to identify data retrieved as partof the retrieval event and one or more of the multiple, differententerprise applications providing the data retrieved as part of theretrieval event.

In some implementations, the application server may be configured toreceive input related to a new enterprise application to archive in thecentral archival system, add a new application connector to interfacewith the new enterprise application based on the input, update archivalrecord types and archival policies to account for the new enterpriseapplication based on the input, and handle archival for the newenterprise application based on the new application connector and theupdated archival record types and archival policies. In theseimplementations, the application server may be configured to maintain anexisting application connector used by a previous enterprise applicationwhose content was previously being archived in the central archivalsystem, existing archival record types used in archiving content fromthe previous enterprise application, and existing archival policies usedin archiving content from the previous enterprise application such thataddition of the new enterprise application does not impact archival ofcontent from the previous enterprise application.

In some examples, the application server may be configured to receiveuser input defining one or more policies to apply in archiving contentin a particular record type. The particular record type may be used toarchive content from multiple, different enterprise applications. Inthese examples, the application server may be configured to, based onthe received input, define, in electronic storage, the one or morepolicies to apply in archiving content in the particular record type.The one or more policies may be applicable to archiving content from allof the multiple, different enterprise applications whose content isarchived in the particular record type.

Further, the application server may be configured to identify anarchival operation that relates to the particular record type, apply theone or more policies defined for the particular record type to thearchival operation based on the identification of the archival operationas relating to the particular record type, and perform the archivaloperation that relates to the particular record type based onapplication of the one or more policies. Also, the application servermay be configured to receive user input defining a retention policy toapply in archiving content in the particular record type and, based onthe received input, define, in electronic storage, the retention policyto apply in retaining content archived in the particular record type.Further, the application server may be configured to receive user inputdefining a location policy to apply in archiving content in theparticular record type. The location policy may define a location withinthe central archival system at which to store content archived using theparticular record type. The application server may be configured to,based on the received input, define, in electronic storage, the locationpolicy to apply in determining the location within the central archivalsystem at which to store content archived using the particular recordtype.

In another aspect, a computer-implemented method of archiving contentfrom multiple, different types of enterprise applications in a centrallocation includes establishing, using multiple, different applicationconnectors, connections with multiple, different enterprise applicationsoperated by an organization. The multiple, different applicationconnectors include at least a first application connector configured tointerface with a first type of enterprise application operated by theorganization, and a second application connector configured to interfacewith a second type of enterprise application operated by theorganization. The second type of enterprise application is differentthan the first type of enterprise application. The method also includesestablishing, using an archival system connector, a connection with acentral archival system. The central archival system is configured toarchive content from the multiple, different enterprise applications ina central location. The method further includes receiving, over theconnections established using the multiple, different applicationconnectors, content to archive from the multiple, different enterpriseapplications and controlling, using the archival system connector, thecentral archival system to archive, in the central location, the contentreceived from the multiple, different enterprise applications such thatcontent from the first type of enterprise application is archived in thecentral location together with content from the second type ofenterprise application.

In yet another aspect, at least one computer-readable storage mediumencoded with executable instructions that, when executed by at least oneprocessor, cause the at least one processor to perform operations. Theoperations include establishing, using multiple, different applicationconnectors, connections with multiple, different enterprise applicationsoperated by an organization. The multiple, different applicationconnectors including at least a first application connector configuredto interface with a first type of enterprise application operated by theorganization, and a second application connector configured to interfacewith a second type of enterprise application operated by theorganization. The second type of enterprise application is differentthan the first type of enterprise application. The operations alsoinclude establishing, using an archival system connector, a connectionwith a central archival system. The central archival system isconfigured to archive content from the multiple, different enterpriseapplications in a central location. The operations further includereceiving, over the connections established using the multiple,different application connectors, content to archive from the multiple,different enterprise applications and controlling, using the archivalsystem connector, the central archival system to archive, in the centrallocation, the content received from the multiple, different enterpriseapplications such that content from the first type of enterpriseapplication is archived in the central location together with contentfrom the second type of enterprise application.

Implementations of any of the techniques described throughout thedisclosure may include a method or process, a system, or instructionsstored on a computer-readable storage device. The details of particularimplementations are set forth in the accompanying drawings anddescription below. Other features will be apparent from the followingdescription, including the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1-6, 8, 9, 11, 12, 19, and 22 are diagrams of exemplary systems.

FIG. 7 is a diagram which illustrates an exemplary application connectormodule.

FIG. 10 is a diagram which illustrates an exemplary controller module.

FIGS. 13, 14, 16, 18, and 20 are flowcharts of exemplary processes.

FIG. 15 is a diagram which illustrates an exemplary complex record type.

FIG. 17 is a diagram which illustrates exemplary policy rules.

FIG. 21 is a diagram which illustrates exemplary audited events.

Like reference numbers represent corresponding parts throughout.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 100 for archiving content from multiple,different types of enterprise applications in a central location. Thesystem 100 includes a central archival system 102, archive sources 106,and an application server 110. The system 100 may be used, for example,to define, implement, and manage archival, preservation, retrieval anddisposition policies for content for an enterprise. One example use ofthe system 100 is for supporting litigation discovery proceedings.Another example use of the system 100 is for supporting compliance withgovernment regulations and/or industry guidelines for records retention.

Business users 112 may use the central archive system 102 for recordsretention 114, searching and indexing documents 116, low cost storage118 of documents and other data, workflow approval processes 120 and formetadata and taxonomy management 122. The application server 110includes an administration module 130, a records manager module 132, apolicy manager module 134, a controller module 136, an applicationconnector module 138, and an archival system connector module 139.

The administration module 130 may be used by records managers and legalauthorities 140, or other users, to administer and configure archivaland retrieval processes. The administration module 130 may provide, forexample, a set of user interface components which the records managersand legal authorities 140 may use to design records policies forarchiving, retaining, retrieving, and disposing records, to generatereports, to monitor archival processes, to initiate workflows, to reviewand approve record types and record policies, and to perform auditing ofarchival and retrieval activity.

The records managers and legal authorities 140 may use the recordsmanager module 132 to manage record types and records information. Forexample, the records manager module 132 may be used to define a recordtype. Record and record type information may be stored, for example,using XML (eXtensible Markup Language). The records manager module 132may be used to transfer or communicate record and record typeinformation to other modules of the application server 110.

The records managers and legal authorities 140 may use the policymanager module 134 to define and manage policies. The policy managermodule 134 may be used to enforce policies on records. The policymanager module 134 may be used to transfer or communicate policy-relatedinformation to other modules of the application server 110.

The controller module 136 may coordinate or control other modules andmay provide common functionality used by other modules, such as centralmonitoring, auditing, reporting, and database functionality. Thecontroller module 136 may provide functionality to cache information inone or more memory caches (e.g., a records store 142, a policy store144, an object cache store 146, etc.) and/or to store information in adatabase 147. For example, the policy manager module 134 may storepolicy-related information in the policy store 144 and the recordsmanager module 132 may store record and record type information in therecords store 144.

The controller module 136 may provide functionality to cache content andmetadata in the object cache store 146. The controller module 136 mayprovide interfaces to store and retrieve other information to and fromthe database 147, such as audit trail entries and report-relatedinformation (e.g., report definitions, generated reports). Thecontroller module 136 includes a central monitoring component 148 whichmay provide features such as logging, tracing, auditing, and reporting.

The application connector module 138 includes a set of applicationconnectors. Each application connector may be configured to interfacewith a different type of enterprise application. For example, theapplication connector module 138 may include an application connectorfor each enterprise application 150 a-150 f included in the archivesources 106. Each of the enterprise applications 150 a-150 f may be adifferent type of enterprise application. Each of the enterpriseapplications 150 a-150 f may be, for example, of one of the followingtypes of enterprise applications or systems: enterprise contentmanagement or other content management, business process management,human resource management, customer relationship management, sales forceautomation, enterprise resource planning, product lifecycle management,supply chain management, supplier relationship management, enterpriseforms automation, automated billing systems, relational databasemanagement system, data warehousing, business intelligence, enterpriseportal, or some other type of enterprise application. A new applicationconnector may be added to the application connector module 138 tosupport a new enterprise application.

The archival system connector module 106 may be used to connect to thecentral archival system 102 and to inject content and metadata into thecentral archival system 102 and to extract content and metadata out ofthe central archival system 102. The archival system connector module106 may also provide functionality for PDF (Portable Document Format)conversion, logging and tracing, auditing, workflow initiation, taxonomystructure creation and navigation, virtual document creation, structureddata conversion, and other configuration tasks.

In further detail and as shown in FIG. 2, an archival system connectormodule 202 may include connection manager 204, taxonomy handler 206,object injector 208, metadata handler 210, object extractor 212, virtualdocument handler 214, PDF processor 216, meta-XML converter 218,workflow handler 220, and configuration manager 222 components. Asdiscussed above, the archival system connector module 202 may beincluded in an application server 230, and may connect to a centralarchival system 240.

The connection manager component 204 may be used to manage a session(e.g., establish a session, release a session) with the central archivalsystem 240. For example, a session may be established by invokinginterfaces included in an API (Application Programming Interface) 250.The taxonomy handler component 206 may be used to associate an injectedrecord with a folder path included as part of a taxonomy folderstructure in the central archival system 240. The taxonomy handlercomponent 206 may be called by the object injector component 208 as eachrecord is injected, and may return one or more folder paths to theobject injector component 208.

The object injector component 208 handles injections of objects into thecentral archival system 240, where an object may be, for example, asimple record or a complex record. A complex record is a record whichincludes content from multiple sources. The object injector component208 may inject a record within an appropriate taxonomy folder structureas indicated by the taxonomy handler component 206. The object injectorcomponent 208 may update metadata of a record as indicated by themetadata handler component 210. The metadata handler component 210indicates values for one or more metadata items for a record. Themetadata handler component 210 may be invoked by the object injectorcomponent 208 as each record is injected.

The virtual document handler component 214 may be used to create virtualdocuments in the central archival system 240. A virtual document may becreated, for example, for a complex record. The virtual document handlercomponent 214 may be invoked by the object injector component 208 foreach injection of a complex record. For example and as shown in FIG. 3,a virtual document handler component 302 may be invoked when a complexrecord 304 is injected. The virtual document handler component 302 maycreate a virtual document 306 based on the complex record 304.

For example, the structure of the virtual document 306 may correspond tothe structure of the complex record 304. The complex record 304 includesfirst content 308 (e.g., a document), second content 310, and structureddata 312. The corresponding virtual document 306 includes a parentelement 314 and child elements 316, 318, and 320, which correspond tothe first content 308, the second content 310, and the structured data312, respectively.

Returning to FIG. 2, the PDF processor component 216 may be used toqueue documents for PDF rendering. For example, individual documents ina complex record or a document in a simple record may be queued for PDFrendering. The PDF processor component 216 may be invoked by the objectinjector component 208 after the injection of a record if PDF conversionoptions are configured for a record type corresponding to the injectedrecord. The workflow handler component 220 may be used to initiateworkflow processes in the central archival system 240. Workflowprocesses may be defined, for example, during definition of a recordtype. The workflow handler component 220 may be invoked by the objectinjector component 208 after the injection of a record if workflowinitiation is configured for a record type corresponding to the injectedrecord.

The meta-XML converter component 218 may be used to convert structuredor relational data into an XML file. The meta-XML converter component218 may be invoked by the injector component 208 if an injected recordincludes structured or relational information. For example and as shownin FIG. 4, a meta-XML converter component 402 may be invoked when arecord which includes relational data 404 is injected. The meta-XMLconverter component 402 may create an XML file 406 based on therelational data 404. For example, the structure of the XML file 406 maycorrespond to the structure of the relational data 404.

Returning to FIG. 2, the object extractor component 212 handlesextraction of objects (e.g., records) from the central archival system240. If a complex record is extracted, the complex record may includeone or more content items, where a content item may be a content file ormay be an XML file or data stream which includes relational orstructured information.

The configuration manager component 222 may be used to retrieveconfiguration information. For example, in some implementations, theconfiguration manager component 222 may retrieve and parse aconfiguration file (e.g., an XML configuration file), such as to extractconfiguration parameters. For example, configuration parameters mayinclude class names of classes for other components included in thearchival system connector module 202. The configuration managercomponent 222 may invoke some or all of the other components included inthe archival system connector module 202. For example, the configurationmanager component 222 may invoke the connection manager component 204 toestablish a session with the central archival system 240 and may invokethe object injector component 208 in response to a request to inject arecord. The object injector component 208 may invoke some or all of thetaxonomy handler component 206, the metadata handler component 210, thevirtual document handler component 214, the PDF processor component 216,the meta-XML converter component 218, and the workflow handler component220, as part of injection processing.

FIG. 5 illustrates an application connector module 502 included in anapplication server 504. The application connector module 502 may be, forexample, an implementation of the application connector module 138described above with respect to FIG. 1. The application connector module502 enables the application server 504 to connect to multiple enterpriseapplications 506 a-506 f included in archive sources 508. Theapplication connector module 502 includes a set of applicationconnectors 510 a-510 e. Each application connector 510 a-510 e may beconfigured to interface with a different enterprise application 506a-506 f, where each of the enterprise applications 506 a-506 f may be adifferent type of enterprise application. For example, the applicationconnectors 510 a-510 f may be configured to interface with theenterprise applications 506 a-506 f, respectively. A new applicationconnector 510 may be added to the application connector module 502 tosupport a new enterprise application 506.

As discussed above, a complex record may include content from multiplearchives sources. FIG. 6 illustrates an example complex record 602. Thecomplex record 602 may include, for example, a product specificationdocument 604 from a first enterprise application 605, a cover letterdocument 606 from a second enterprise application 607, and customer data608 from a third enterprise application 609. The product specificationdocument 604 may be retrieved from the first enterprise application 605using a first application connector 612 configured to interface with thefirst enterprise application 605 and may exist in the complex record 602as a first component 620. Similarly, the cover letter document 606 maybe retrieved from the second enterprise application 607 using a secondapplication connector 614 configured to interface with the secondenterprise application 607 and may exist in the complex record 602 as asecond component 622. The customer data 608 may be retrieved from thethird enterprise application 609 using a third application connector 616configured to interface with the third enterprise application 609. Thecustomer data 608 may be converted to XML and may exist in the complexrecord 602 as a third component 624.

In contrast to a complex record, a simple record may be associated withone content item retrieved from one archival source. For example, asimple record 620 may be associated with a medical record 622 retrievedfrom a fourth enterprise application 624, using a fourth applicationconnector 626 configured to interface with the fourth enterpriseapplication 624.

FIG. 7 illustrates an example application connector 702 included in anapplication connector module 704. The application connector 702 includesa schema manager component 706, an object model manager component 708, aconnection manager component 710, a data extractor component 712, and acontent extractor component 714. The connection manager component 710may be used to manage a session with an enterprise applicationassociated with the application connector 702. In some implementations,a first session may be established with the enterprise application forpurposes of record assembly, and a second session may be established forrecord injection. In some implementations, the same session is used forboth record assembly and record injection.

The schema manager component 706 may be used to extract details of arelational database schema or other schema used by an enterpriseapplication associated with the application connector 702. The extractedschema information may include, for example, details about relationalrecords stored in or accessible from the enterprise applicationassociated with the application connector 702. The extracted schemainformation may be used when defining record types of records to bearchived.

The object model manager component 708 may be used to extract details ofone or more object models used in an enterprise content managementsystem associated with the application connector 702 (e.g., theapplication connector 702 may be configured to interface with theenterprise content management system). Extracted object modelinformation may include information about content stored in oraccessible from the enterprise content management system associated withthe application connector 702. A content schema for the enterprisecontent management system may be generated based on a set of objectmodels. The extracted object model information may be used when definingrecord types of records to be archived.

The data extractor component 712 may be used to extract structured(e.g., relational) data from an enterprise system associated with theapplication connector 702. Extracted data may be treated as or may beincluded in a record and may be archived in a central archival system.The content extractor component 714 may be used to extract content andassociated metadata stored in an enterprise content management systemassociated with the application connector 702. Extracted content may betreated as or may be included in a record and may be archived in acentral archival system.

FIG. 8 illustrates an administration module 802 included in anapplication server 804. The administration module 802 may be, forexample, an implementation of the administration module 130 describedabove with respect to FIG. 1. The administration module 802 includes alogin manager component 806, a reports manager component 808, a tasksmanager component 810, an audit manager component 812, a records browsercomponent 814, a records type console component 816, and a policyconsole component 818.

The login manager component 806 may be used to provide functionality forrecords managers and legal authorities 807 to log into and log out ofthe application server 804. The records browser component 808 allows therecords managers and legal authorities 807 to browse and search archivedrecords. For example, the records managers and legal authorities 807 mayuse the records browser component 808 to perform records discovery byissuing keywords-based and/or metadata-based searches. The recordsmanagers and legal authorities 807 may also use the records browsercomponent 808 to navigate one or more taxonomy folder structures.Selected records may be retrieved, if the user has appropriateauthority.

The records type console component 816 may allow users to define andconfigure record types. The records managers and legal authorities 807may use the records type console component 816 to define simple andcomplex record types. The records managers and legal authorities 807 mayuse the policy console component 818 to define record policies and toassociate a defined policy with one or more record types. Definingpolicies is described in more detail below with respect to FIGS. 16 and17.

The reports manager component 808 may be used to define and generatereports. A preconfigured report or custom report may be generated usingreport parameters, such as record creation time, record source, orrecord type, to name a few examples. The records managers and legalauthorities 807 may use the tasks manager component 810 to view andperform archival or retrieval-related tasks. For example, the recordsmanagers and legal authorities 807 may review and approve incomingrecords before they are injected into a central archival system, or mayreview and approve the retrieval of the records from the centralarchival system. The audit manager component 812 may be used to defineaudit events for a particular record type and to view generated auditevents. Auditing is described in more detail below with respect to FIGS.20 and 21.

FIG. 9 illustrates interfaces of administration module components.Similar to the administration module 802 of FIG. 8, the administrationmodule 902 includes a login manager component 906, a reports managercomponent 908, a tasks manager component 910, an audit manager component912, a records browser component 914, a records type console component916, and a policy console component 918. The login manager component906, reports manager component 908, tasks manager component 910, andaudit manager component 912 each may interface with a controller module920. The controller module 920 may be, for example, an implementation ofthe controller module 136 described above with respect to FIG. 1.

The records browser component 914 may interface with an applicationconnector module 922, the records type console component 916 mayinterface with a records manager module 924, and the policy consolecomponent 918 may interface with a policy manager component 926. Theapplication connector module 922, the records manager module 924, andthe policy manager component 926 may be implementations of theapplication connector module 138, the records manager module 132, andthe policy manager module 134 described above with respect to FIG. 1,respectively.

FIG. 10 illustrates a controller module 1002 included in an applicationserver 1004. The controller module 1002 may be an implementation of thecontroller module 136 described above with respect to FIG. 1. Thecontroller module 1002 includes an object cache store 1006, a policystore 1008, a records store 1010, a database 1012, and a centralmonitoring component 1013.

The object cache store 1006 is a memory cache which may be used to cachereceived content and metadata as memory objects. Storing receivedcontent and metadata in memory in the object cache store 1006 mayimprove performance as compared to storing content and metadata in diskstorage. Content may be cached in the object cache store 1006 and maysubsequently be sent to the central archival system. The policy store1008 may be used to store policy definitions and policy rules which maybe included in one or more policy definitions. The records store 1010may be used to store record and record type information, such asdefinitions of simple and complex record types, and other informationused for records assembly. In some implementations, the policy store1008 and/or the records store 1010 may use or include an in-memory cacheand/or may use or may be associated with persistent storage associatedwith the database 1012.

The database 1012 may be used to store information such as logs,generated reports, report definitions, audit-related information, andother information. In some implementations, policy information may becached in the policy store 1008 and may be also stored persistently inthe database 1012. Similarly, in some implementations, record and recordtype information may be cached in the records store 1010 and may be alsostored persistently in the database 1012.

The central monitoring component 1013 includes a reports managercomponent 1014, a dashboard generator component 1016, and an auditmanager component 1018. The report manager component 1014 may access acentral archival system to extract information about archived records,may consolidate the extracted information, and may generate reportsbased on the extracted information. The dashboard generator component1016 may include a set of pre-configured chart definitions. The chartdefinitions may be used by the reports manager component 1014. Forexample, the reports manager component 1014 may populate a chart withdata based on information queried from the central archival system andmay display the chart on a report. The audit manager component 1018 mayquery the central archival system for audit trail objects based on a setof query parameters received from an audit manager component included inan administration module (e.g., the audit manager component 912 of theadministration module 902 described above with respect to FIG. 9). Theaudit manager component 1018 may return query results to the auditmanager component included in the administration module.

FIG. 11 illustrates interfaces for a policy manager module 1102. Thepolicy manager module 1102 may interface with an administration module1104 and with a controller module 1106. The policy manager module 1102,the administration module 1104, and the controller module 1106 may beimplementations of the policy manager module 134, the administrationmodule 130, and the controller module 136 described above with respectto FIG. 1. The policy manager module 1102 may be used, for example, tocreate a record policy, attach a record policy to an incoming record,version a record policy, remove a policy from an existing record, anddelete a record policy. The policy manager module 1102 may communicatewith the controller module 1106 to store policy information in a policystore 1108 included in the controller module 1106 and/or in a database1110 included in the controller module 1106.

Records managers and legal authorities 1111 may use a policy consolecomponent 1112 included in the administration module 1104 to perform orinitiate policy related operations. The policy console component 1112may communicate user input and commands to the policy manager module1102. In response to received user input and commands, the policymanager module 1102 may add, change, or delete policy information in thepolicy store 1108 and/or in the database 1110.

FIG. 12 illustrates interfaces for a records manager module 1202. Therecords manager module 1202 may interface with an administration module1204 and with a controller module 1206. The records manager module 1202,the administration module 1204, and the controller module 1206 may beimplementations of the records manager module 132, the administrationmodule 130, and the controller module 136 described above with respectto FIG. 1. The records manager module 1202 may be used, for example, tocreate a simple record type, create a complex record type, associate arecord type with a policy, delete a record type, review and approveincoming records, and retrieve records. The records manager module 1202may communicate with the controller module 1206 to store record andrecord type information in a records store 1208 included in thecontroller module 1206 and/or in a database 1210 included in thecontroller module 1206.

Records managers and legal authorities 1211 may use a records typeconsole component 1212 included in the administration module 1204 toperform or initiate records related operations. The records type consolecomponent 1212 may communicate user input and commands to the recordsmanager module 1202. In response to received user input and commands,the records manager module 1202 may add, change, or delete recordsrelated information in the records store 1208 and/or in the database1210.

FIG. 13 illustrates an example process 1300 for archiving content frommultiple, different types of enterprise applications in a centrallocation. The operations of the process 1300 are described generally asbeing performed by the system 100. The operations of the process 1300may be performed by one of the components of the system 100 (e.g., theapplication server 110) or may be performed by a combination of thecomponents of the system 100. In some implementations, operations of theprocess 1300 may be performed by one or more processors included in oneor more electronic devices.

The system 100 establishes connections with multiple, differententerprise applications operated by an organization (1310). For example,an applications connector module may be used, where the applicationsconnector module includes multiple application connectors and where eachapplication connector is configured to interface with a particular typeof enterprise application. Each application connector may include aconnection manager component which may be used to establish a connectionwith an associated enterprise application.

The system 100 establishes a connection with a central archival system(1320). For example, an archival system connector module may be used toestablish a connection with the central archival system which isconfigured to archive content from the multiple, different enterpriseapplications in a central location. The archival system connector modulemay include a connection manager component which may be used toestablish a session with the central archival system.

The system 100 receives content to archive from the multiple, differententerprise applications (1330). For example, for each enterpriseapplication, an associated connector may be used to receive content toarchive from the enterprise application. Content may include, forexample, one or more documents, or structured or relational data.Content may be stored, for example in one or more caches of anapplication server, as one or more records. A record may be associatedwith a record type. A record type may be a simple record type or acomplex record type. A simple record type may indicate that content fora simple record may be received from one enterprise application. Acomplex record type indicates that content for a complex record may bereceived from multiple, different enterprise applications.

The system 100 controls the central archival system to archive, in thecentral location, the content received from the multiple, differententerprise applications (1340). Some or all of the received content maybe converted to a different format before archiving. For example,structural or relational database data may be converted to one or moreXML files. A PDF version may be generated for some or all documents. Forcontent for which a PDF document is made, either just the PDF documentor both the PDF document and the original content may be archived.

Prior to archiving, a complex record type may be defined and the system100 may handle archiving using the complex record type. For example, acomplex record may be represented as a virtual document. Handlingarchiving using a complex record type is described in more detail belowwith respect to FIG. 14.

FIG. 14 illustrates an example process 1400 for archiving informationfrom multiple, different enterprise applications using a complex recordtype. The operations of the process 1400 are described generally asbeing performed by the system 100. The operations of the process 1400may be performed by one of the components of the system 100 (e.g., theapplication server 110) or may be performed by a combination of thecomponents of the system 100. In some implementations, operations of theprocess 1400 may be performed by one or more processors included in oneor more electronic devices.

The system 100 receives user input defining a complex record type thatincludes information from multiple, different enterprise applications(1410). For example, a records manager or legal authority may provideuser input using a records type console (e.g., the records type console1212 described above with respect to FIG. 12). A record type may referto content and/or metadata from multiple enterprise applications. Forexample, FIG. 15 illustrates a complex record type 1502 which is definedto include first content 1504 and first metadata 1506 from a firstenterprise application and second content 1508 and second metadata 1510from a second enterprise application. The complex record type 1502 alsoincludes record data 1512 which describes other aspects of a record ofthe complex record type 1502.

As another example, a complex record type 1520 is defined to include acustomer name, customer date of birth, and date last contactedinformation 1522 from a first enterprise application, a customer coverletter and a customer passport copy 1524 from a second enterpriseapplication, and customer transaction information 1526 from a thirdenterprise application.

Simple record types may also be defined, where a simple record type isdefined to include information from a single enterprise application. Forexample, a simple record type 1530 is defined to include productspecification content 1532 from a fourth enterprise application and asimple record type 1540 is defined to include project documentationcontent 1542 from a fifth enterprise application.

Returning to FIG. 14, the system 100 defines the complex record type(1420). For example, a complex record type definition may be generatedby a records manager module and the complex record type definition maybe stored in a records store.

The system 100 handles archival of information from the multiple,different enterprise applications using the complex record type, basedon the received user input (1430). For example, the system 100 maydetect an archival operation that uses the complex record type and inresponse may identify content and metadata needed to populate thecomplex record type and may identify multiple enterprise applicationsfrom which to retrieve the identified content and identified metadata.The system 100 may connect to the identified enterprise applications toaccess the identified content and identified metadata. The system 100may control, using an archival system connector, a central archivalsystem to store, in a single record of the complex record type, theaccessed content and the accessed metadata.

FIG. 16 illustrates an example process 1600 for defining and applyingarchival policies. The operations of the process 1600 are describedgenerally as being performed by the system 100. The operations of theprocess 1600 may be performed by one of the components of the system 100(e.g., the application server 110) or may be performed by a combinationof the components of the system 100. In some implementations, operationsof the process 1600 may be performed by one or more processors includedin one or more electronic devices.

The system 100 receives input defining policies to apply in archivingcontent in a particular record type (1610). For example, a recordsmanager or legal authority may provide user input specifying one or morepolicy rules to apply in archiving content in a particular record typeusing a policy console component (e.g., the policy console 1112described above with respect to FIG. 11). As shown in FIG. 17, examplepolicy rules 1700 may be based on a record type, may involve one or morepre-ingestion handlers (e.g., a handler may be called before a record isinjected), may involve one or more post-ingestion handlers (e.g., ahandler may be called after a record is injected), may involve PDFconversion, may involve applying an archive system lifecycle stage, mayinvolve initiating an archive system workflow, may be based on or mayrefer to an archive system target folder, may be based on or may referto one or more retention phases, may involve one or more pre-retrievalhandlers (e.g., a handler may be called before a record is retrieved),may involve one or more post-retrieval handlers (e.g., a handler may becalled after a record is retrieved), and may involve deletion of arecord.

The system 100 defines policies to apply in archiving content in theparticular record type based on the received input (1620). For example,a policy definition may be generated by a policy manager module and thepolicy definition may be stored in a policy store.

The system 100 identifies an archival operation that relates to theparticular record type (1630). For example, a request to archive contentrelated to the particular record type may be received. As anotherexample, a request to retrieve content related to a particular recordtype may be received.

The system 100 applies the policies defined for the particular recordtype to the archival operation (1640) and the system 100 performs thearchival operation based on application of the policies (1650). Policyrules may be applied by invoking one or more handlers. For example, apre-ingestion handler may be invoked before a record is injected and apost-ingestion handler may be invoked after a record is injected. Apre-retrieval handler may be invoked before a record is retrieved and apost-retrieval handler may be invoked after a record is retrieved.

Policies may be based on or may refer to one or more lifecycle states ofa record. A record may be in one or more of the following states: draft,in-review, in-workflow, approved, archived, retrieved, deleted, andPDF-generated. Some of the lifecycle states are mutually exclusive(e.g., a record may not be simultaneously in an in-review and a deletedstate) and some combinations of the lifecycle states may besimultaneously applicable to a record (e.g., a record may be bothapproved and retrieved).

FIG. 18 illustrates an example process 1800 for archiving informationfrom a new enterprise application. The operations of the process 1800are described generally as being performed by the system 100. Theoperations of the process 1800 may be performed by one of the componentsof the system 100 (e.g., the application server 110) or may be performedby a combination of the components of the system 100. In someimplementations, operations of the process 1800 may be performed by oneor more processors included in one or more electronic devices.

The system 100 receives input related to a new enterprise application toarchive in a central archival system (1810). For example, the newenterprise application may be a new enterprise application productoffering or may otherwise be an enterprise application for which contenthas not previously been archived in the central archival system. Asshown in FIG. 19, a company may begin using a new enterprise application1905 and may wish to integrate the new enterprise application 1905 withan archival system 1910 used by the company.

The system 100 adds a new connector to interface with the new enterpriseapplication based on the input (1820). The new connector may beimplemented, configured to interface with the new enterpriseapplication, and may be added to an application connector module. In theexample of FIG. 19, a new connector 1920 is added to an applicationserver 1930.

The system 100 updates archival record types and/or archival policies toaccount for the new enterprise application based on the input (1830).For instance, in the example of FIG. 19, after updating archival recordtypes and archival policies, the application server 1930 may includeupdated policies 1940 and updated record types 1950. The updatedpolicies 1940 may include new policies added to support the newenterprise application 1905, modified policies changed to support thenew enterprise application 1905, and old policies left unchanged afteraccounting for the new enterprise application 1905. Similarly, theupdated record types 1950 may include new record types added to supportthe new enterprise application 1905, modified record types changed tosupport the new enterprise application 1905, and old record types leftunchanged after accounting for the new enterprise application 1905.

Returning to FIG. 18, the system 100 handles archival for the newenterprise application based on the new connector and the updatedarchival record types and/or archival policies (1840). For instance, inthe example of FIG. 19, a request to archive information from the newenterprise application 1905 may be received by the application server1930. The application server 1930 may connect to the new enterpriseapplication 1905 using the new connector 1920, may retrieve content fromthe new enterprise application 1905 using the new connector 1920, andmay inject the retrieved content into the archival system 1910, forexample in archived records 1935 included in the archival system 1910.

After the addition of the new enterprise application 1905, theapplication server 1930 may receive a request to archive content from anexisting enterprise application 1960. In response to such a request, theapplication server 1930 may connect to the existing enterpriseapplication 1960 using an existing connector 1970, may retrieve contentfrom the existing enterprise application 1960 using the existingconnector 1970, and may inject the retrieved content into the archivalsystem 1910. The operations may be performed as had occurred prior tothe addition of the new enterprise application 1905. In other words,addition of the new enterprise application 1905 does not impact archivalof content from the existing enterprise application 1960. The updatedpolicies 1940 and updated record types 1950 may include policies andrecord types, respectively, that are used in archiving content from theexisting enterprise application 1960, where those policies and recordtypes may be maintained as unchanged in response to adding support forthe new enterprise application 1905.

FIG. 20 illustrates an example process 2000 for auditing archivaloperations. The operations of the process 2000 are described generallyas being performed by the system 100. The operations of the process 2000may be performed by one of the components of the system 100 (e.g., theapplication server 110) or may be performed by a combination of thecomponents of the system 100. In some implementations, operations of theprocess 2000 may be performed by one or more processors included in oneor more electronic devices.

The system 100 handles an event that results in a request to archive orretrieve data in a central archival system (2010). For example, as shownin FIG. 21, example events that may be audited include: record typecreation, modification, or deletion; policy creation, modification, ordeletion; structural/relational data archival; other content archival;records assembly or retrieval; policy enforcement, policy removal andpolicy phase changes; records lifecycle changes; workflow triggering;PDF generation; records deletion; and virtual document creation.

In response to the event, the system 100 logs the event to identify oneor more enterprise applications associated with the data (2020). Forexample, data associated with the event may be logged to a database.Logged data may include, for example, an event time, an identity of oneor more applicable enterprise applications, an applicable record type,an event description, and an event type. Data may be logged inelectronic storage which is separate from the central archival system(e.g., electronic storage included in a different physical machinelocated in a different geographic location).

The system 100 audits, based on the logging, the central archival systemto determine whether the data was properly archived or retrieved (2030).For example, the system 100 may analyze log data to determine a set ofrecords identified to be archived. The system 100 may compare the set ofrecords identified to be archived with the current records included inthe central archival system (accounting for records which have beendeleted from the central archival system (e.g., as indicated by logdata)). If each record identified to be archived is found in the centralarchival system, the system 100 may determine that data was properlyarchived. If some of the records identified to be archived cannot befound in the central archival system, the system 100 may determine thatdata was not properly archived.

The system 100 takes corrective action in response to a determinationthat the data was not properly archived or retrieved (2040). Forexample, one or more parties may be notified, such as administrators,records managers, or one or more requestors of archival operations forwhich data was not properly archived. As another example, archival ofrecords not properly archived may be reattempted.

The system 100 provides reporting based on the logging and auditing(2050). For example, the system 100 may calculate, based on the loggingand auditing, archival statistics related to archival operationsperformed for each of the multiple, different enterprise applicationsand success or failure of the archival operations. A reports managermodule may generate and output a report that reflects the calculatedarchival statistics.

FIG. 22 is a schematic diagram of an example of a computer system 2200.The system 2200 can be used for the operations described in associationwith the processes 1300, 1400, 1600, 1800, and 2000, according to oneimplementation.

The system 2200 includes a processor 2210, a memory 2220, a storagedevice 2230, and an input/output device 2240. Each of the components2210, 2220, 2230, and 2240 are interconnected using a system bus 2250.The processor 2210 is capable of processing instructions for executionwithin the system 2200. In one implementation, the processor 2210 is asingle-threaded processor. In another implementation, the processor 2210is a multi-threaded processor. The processor 2210 is capable ofprocessing instructions stored in the memory 2220 or instructions storedon the storage device 2230 to display graphical information for a userinterface on the input/output device 2240.

The memory 2220 stores information within the system 2200. In oneimplementation, the memory 2220 is a computer-readable medium. In oneimplementation, the memory 2220 is a volatile memory unit. In anotherimplementation, the memory 2220 is a non-volatile memory unit.

The storage device 2230 is capable of providing mass storage for thesystem 2200. In one implementation, the storage device 2230 is acomputer-readable medium. In various different implementations, thestorage device 2230 may be a floppy disk device, a hard disk device, anoptical disk device, or a tape device.

The input/output device 2240 provides input/output operations for thesystem 2200. In one implementation, the input/output device 2240includes a keyboard and/or pointing device. In another implementation,the input/output device 2240 includes a display unit for displayinggraphical user interfaces.

The features described can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. The apparatus can be implemented in a computerprogram product tangibly embodied in an information carrier, e.g., in amachine-readable storage device, for execution by a programmableprocessor; and method steps can be performed by a programmable processorexecuting a program of instructions to perform functions of thedescribed implementations by operating on input data and generatingoutput. The described features can be implemented advantageously in oneor more computer programs that are executable on a programmable systemincluding at least one programmable processor coupled to receive dataand instructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program can be written in anyform of programming language, including compiled or interpretedlanguages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both. Theelements of a computer may include a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer will also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the features can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.

The features can be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, e.g., a LAN, a WAN, and thecomputers and networks forming the Internet.

The computer system can include clients and servers. A client and serverare generally remote from each other and typically interact through anetwork, such as the described one. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. Accordingly, otherimplementations are within the scope of the following claims.

What is claimed is:
 1. A system for archiving content from multiple,different types of enterprise applications in a central location, thesystem comprising: multiple, different application connectors that areconfigured to interface with multiple, different enterprise applicationsoperated by an organization, the multiple, different applicationconnectors including at least: a first application connector configuredto interface with a first type of enterprise application operated by theorganization, and a second application connector configured to interfacewith a second type of enterprise application operated by theorganization, the second type of enterprise application being differentthan the first type of enterprise application; an archival systemconnector that is configured to interface with a central archivalsystem, the central archival system being configured to archive contentfrom the multiple, different enterprise applications in a centrallocation; and an application server that is configured to receive, usingthe multiple, different application connectors, content to archive fromthe multiple, different enterprise applications, and control, using thearchival system connector, the central archival system to archive, inthe central location, the content received from the multiple, differententerprise applications such that content from the first type ofenterprise application is archived together in the central location withcontent from the second type of enterprise application, wherein theapplication server includes a computer system and is further configuredto: receive user input defining a complex record type that includesinformation from the multiple, different enterprise applications; definethe complex record type based on the received user input; detect anarchival operation that uses the complex record type; in response todetection of the archival operation that uses the complex record type,identify content needed from the multiple, different enterpriseapplications to populate the complex record type and identify metadataneeded from the multiple, different enterprise applications to populatethe complex record type; access the identified content and theidentified metadata; and control, using the archival system connector,the central archival system to store, in a single record of the complexrecord type, the accessed content and the accessed metadata.
 2. Thesystem of claim 1, wherein the application server is configured toprovide a standard user interface that enables a user to provide inputto control archival operations for the multiple, different enterpriseapplications and the central archival system, receive user input that isentered into the standard user interface, and control, based on thereceived user input, archival operations for the multiple, differententerprise applications and the central archival system.
 3. The systemof claim 1, wherein the application server is configured to convert,into a different format, at least a portion of the content received fromthe multiple, different enterprise applications prior to controlling thecentral archival system to archive, in the central location, the contentreceived from the multiple, different enterprise applications.
 4. Thesystem of claim 1: wherein the complex record type includes firstcontent from a first enterprise application, first metadata from thefirst enterprise application, second content from a second enterpriseapplication, second metadata from the second enterprise application, andrecord data that describes aspects of a record of the complex recordtype, the second enterprise application being different than the firstenterprise application, the first content being different than thesecond content, and the first metadata being different than the secondmetadata; and wherein the application server is configured to create asingle record of the complex record type by integrating, into the singlerecord of the complex record type, the first content from the firstenterprise application, the first metadata from the first enterpriseapplication, the second content from the second enterprise application,and the second metadata from the second enterprise application andadding, to the single record of the complex record type and in therecord data portion of the complex record type, data describing aspectsof creation of the single record.
 5. The system of claim 1, wherein theapplication server is configured to: handle an event that results in arequest to at least one of archive data in the central archival systemand retrieve data from the central archival system; and in response tothe event, log, in electronic storage separate from the central locationof the central archival system, the event to identify data associatedwith the event and one or more of the multiple, different enterpriseapplications associated with the event.
 6. The system of claim 5,wherein the application server is configured to, based on the logging,audit the central archival system to determine whether the data wasproperly archived.
 7. The system of claim 6, wherein the applicationserver is configured to, in response to a determination that the datawas not properly archived, take corrective action with respect to thecentral archival system to cause proper archival of the data in thecentral location.
 8. The system of claim 6, wherein the applicationserver is configured to: calculate, based on the logging and auditing,archival statistics related to archival operations performed for each ofthe multiple, different enterprise applications and success or failureof the archival operations; generate a report that reflects thecalculated archival statistics; and output, using an output device, thereport.
 9. The system of claim 5, wherein the application server isconfigured to: handle an archival event that results in a request toarchive data in the central archival system; and in response to thearchival event, log, in electronic storage separate from the centrallocation of the central archival system, the archival event to identifydata archived as part of the archival event and one or more of themultiple, different enterprise applications providing the data archivedas part of the archival event.
 10. The system of claim 5, wherein theapplication server is configured to: handle a retrieval event thatresults in a request to retrieve data from the central archival system;and in response to the retrieval event, log, in electronic storageseparate from the central location of the central archival system, theretrieval event to identify data retrieved as part of the retrievalevent and one or more of the multiple, different enterprise applicationsproviding the data retrieved as part of the retrieval event.
 11. Thesystem of claim 1, wherein the application server is configured to:receive input related to a new enterprise application to archive in thecentral archival system; add a new application connector to interfacewith the new enterprise application based on the input; update archivalrecord types and archival policies to account for the new enterpriseapplication based on the input; and handle archival for the newenterprise application based on the new application connector and theupdated archival record types and archival policies.
 12. The system ofclaim 11, wherein the application server is configured to maintain anexisting application connector used by a previous enterprise applicationwhose content was previously being archived in the central archivalsystem, existing archival record types used in archiving content fromthe previous enterprise application, and existing archival policies usedin archiving content from the previous enterprise application such thataddition of the new enterprise application does not impact archival ofcontent from the previous enterprise application.
 13. The system ofclaim 1, wherein the application server is configured to: receive userinput defining one or more policies to apply in archiving content in aparticular record type, the particular record type being used to archivecontent from multiple, different enterprise applications; and based onthe received input, define, in electronic storage, the one or morepolicies to apply in archiving content in the particular record type,the one or more policies being applicable to archiving content from allof the multiple, different enterprise applications whose content isarchived in the particular record type.
 14. The system of claim 13,wherein the application server is configured to: identify an archivaloperation that relates to the particular record type; apply the one ormore policies defined for the particular record type to the archivaloperation based on the identification of the archival operation asrelating to the particular record type; and perform the archivaloperation that relates to the particular record type based onapplication of the one or more policies.
 15. The system of claim 13,wherein the application server is configured to: receive user inputdefining a retention policy to apply in archiving content in theparticular record type; and based on the received input, define, inelectronic storage, the retention policy to apply in retaining contentarchived in the particular record type.
 16. The system of claim 13,wherein the application server is configured to: receive user inputdefining a location policy to apply in archiving content in theparticular record type, the location policy defining a location withinthe central archival system at which to store content archived using theparticular record type; and based on the received input, define, inelectronic storage, the location policy to apply in determining thelocation within the central archival system at which to store contentarchived using the particular record type.
 17. The system of claim 1:wherein the complex record type includes a first type of informationfrom a first enterprise application, a second type of information from asecond enterprise application, and a third type of information from athird enterprise application, wherein the first type of information isdifferent from the second type of information and the third type ofinformation, wherein the second type of information is different fromthe third type of information, wherein the first enterprise applicationis different from the second enterprise application and the thirdenterprise application, wherein the second enterprise application isdifferent from the third enterprise application, and wherein theapplication server is configured to control the central archival systemto store, in the single record of the complex record type, the accessedcontent and the accessed metadata by controlling the central archivalsystem to store, in the single record of the complex record type, thefirst type of information from the first enterprise application, thesecond type of information from the second enterprise application, andthe third type of information from the third enterprise application. 18.The system of claim 1, wherein the application server is configured tocontrol the central archival system to store, in the single record ofthe complex record type, the accessed content and the accessed metadataby: controlling the central archival system to store, in the singlerecord of the complex record type, metadata accessed from at least twoenterprise applications, determining record data that describes aspectsof the single record of the complex record type, and controlling thecentral archival system to store, in the single record of the complexrecord type, the determined record data with the metadata accessed fromat least two enterprise applications.
 19. A computer-implemented methodof archiving content from multiple, different types of enterpriseapplications in a central location, the method comprising: establishing,using multiple, different application connectors, connections withmultiple, different enterprise applications operated by an organization,the multiple, different application connectors including at least: afirst application connector configured to interface with a first type ofenterprise application operated by the organization, and a secondapplication connector configured to interface with a second type ofenterprise application operated by the organization, the second type ofenterprise application being different than the first type of enterpriseapplication; establishing, using an archival system connector, aconnection with a central archival system, the central archival systembeing configured to archive content from the multiple, differententerprise applications in a central location; receiving, over theconnections established using the multiple, different applicationconnectors, content to archive from the multiple, different enterpriseapplications; and controlling, by a computer system using the archivalsystem connector, the central archival system to archive, in the centrallocation, the content received from the multiple, different enterpriseapplications such that content from the first type of enterpriseapplication is archived in the central location together with contentfrom the second type of enterprise application, wherein controlling thecentral archival system to archive, in the central location, the contentreceived from the multiple, different enterprise applications comprises:receiving user input defining a complex record type that includesinformation from the multiple, different enterprise applications;defining the complex record type based on the received user input;detecting an archival operation that uses the complex record type; inresponse to detection of the archival operation that uses the complexrecord type, identifying content needed from the multiple, differententerprise applications to populate the complex record type andidentifying metadata needed from the multiple, different enterpriseapplications to populate the complex record type; accessing theidentified content and the identified metadata; and controlling, by thecomputer system using the archival system connector, the centralarchival system to store, in a single record of the complex record type,the accessed content and the accessed metadata.
 20. At least onenon-transitory computer-readable storage medium encoded with executableinstructions that, when executed by at least one processor, cause the atleast one processor to perform operations comprising: establishing,using multiple, different application connectors, connections withmultiple, different enterprise applications operated by an organization,the multiple, different application connectors including at least: afirst application connector configured to interface with a first type ofenterprise application operated by the organization, and a secondapplication connector configured to interface with a second type ofenterprise application operated by the organization, the second type ofenterprise application being different than the first type of enterpriseapplication; establishing, using an archival system connector, aconnection with a central archival system, the central archival systembeing configured to archive content from the multiple, differententerprise applications in a central location; receiving, over theconnections established using the multiple, different applicationconnectors, content to archive from the multiple, different enterpriseapplications; and controlling, using the archival system connector, thecentral archival system to archive, in the central location, the contentreceived from the multiple, different enterprise applications such thatcontent from the first type of enterprise application is archived in thecentral location together with content from the second type ofenterprise application, wherein controlling the central archival systemto archive, in the central location, the content received from themultiple, different enterprise applications comprises: receiving userinput defining a complex record type that includes information from themultiple, different enterprise applications; defining the complex recordtype based on the received user input; detecting an archival operationthat uses the complex record type; in response to detection of thearchival operation that uses the complex record type, identifyingcontent needed from the multiple, different enterprise applications topopulate the complex record type and identifying metadata needed fromthe multiple, different enterprise applications to populate the complexrecord type; accessing the identified content and the identifiedmetadata; and controlling, using the archival system connector, thecentral archival system to store, in a single record of the complexrecord type, the accessed content and the accessed metadata.